package bddaccess;

import java.sql.Connection;
import java.util.ArrayList;

public abstract class DAO<T> {

	public Connection connect = ConnexionMySQL.getInstance();
	
	/**
	 * Permet de recuperer un objet via son ID
	 * @param id
	 * @return
	 */
	public abstract T find(int id);
		
	/**
	 * Permet de creer une entree dans la base de donnees
	 * par rapport a un objet
	 * @param obj
	 */
	public abstract T create(T obj);
	
	/**
	 * Permet de creer une entree dans la base de donnees
	 * par rapport a un objet
	 * @param obj
	 */
	public abstract void createMultiple(ArrayList<T> obj, int lot);
	
	/**
	 * Permet de mettre a jour les donnees d'une entree dans la base 
	 * @param obj
	 */
	public abstract T update(T obj);
	
	/**
	 * Permet la suppression d'une entree de la base
	 * @param obj
	 */
	public abstract void delete(T obj);
}
